#include <string>
using namespace std;

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 计算两个数之和
     * @param s string字符串 表示第一个整数
     * @param t string字符串 表示第二个整数
     * @return string字符串
     */
    string solve(string s, string t) {
        // write code here
        std::string sum;
        int carry = 0;
        int pos_s = s.size() - 1;
        int pos_t = t.size() - 1;
        while(pos_s >= 0 || pos_t >= 0){
            int digit_sum = carry;
            digit_sum += (pos_s >= 0) ? s[pos_s--] - '0' : 0;
            digit_sum += (pos_t >= 0) ? t[pos_t--] - '0' : 0;
            carry = digit_sum / 10;
            sum.push_back(digit_sum % 10 + '0');
        }
        if(carry > 0){
            sum.push_back(carry + '0');
        }
        std::reverse(sum.begin(),sum.end());
        return sum;
    }
};